package com.cn.wanxi.util;

import com.cn.wanxi.dao.CompanyDao;

import java.io.File;
import java.io.IOException;

public class MyFile {

    public static void main(String[] args) {
//        将页面的数据按照面向对象的形式提取出来放在dao层
//        然后通过框架servlet+jsp渲染到页面上
//        项目描述：
//        1.是什么项目？
//        2。项目背景？
//        3.项目的功能？
//        4.项目能够给用户提供什么？给客户提供什么？
//        5.项目职责：工作范围
//        将第二阶段提取的dao数据放入文件，然后读取出来然后通过框架servlet+jsp渲染到页面上
//        文件：怎么去抽象出一个file类？
//   类默认有一个无参的构造方法  ，如果类里面有有参的构造方法，则无参的构造方法失效
//        CompanyDao companyDao = new CompanyDao("aaa");
//        对于抽象类进行实例化时，没有类的名字，直接重写抽象类的方法，匿名内部类
//        抽象类，接口都不能直接进行实例化
//        Ainimal ainimal=new Ainimal() {
//            @Override
//            public void eat() {
//
//            }
//
//            @Override
//            public void talk() {
//
//            }
//
//            @Override
//            public void see() {
//
//            }
//        };
//        String path = "";
//        File file = new File(path);
////        file.isDirectory()
////        File file1 = null;
//        if (file.exists()) {
//            System.out.println("当前文件一件存在");
//        } else {
//            path = "E:" + File.separator + "wanxi\\step-3\\canyin03-0809\\web\\aa\\bb\\";
////            file1 = new File(path);
//        }
//        String directory = "\\note";
//        File fileDirectory = new File(path, directory);
//        boolean mkdir = fileDirectory.mkdirs();
////        mkdirs和mkdir的区别？
////        System.out.println(mkdir);
//        String fileName = "company.exe";
//        File file1 = new File(fileDirectory, fileName);
//        try {
//            boolean newFile = file1.createNewFile();
////            System.out.println(newFile);
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
////        增删改查
//        String newName="company.aa";
//        File newFileName=new File(fileDirectory,newName);
//        boolean b = file1.renameTo(newFileName);
//        System.out.println(b);
//        newFileName.delete();
//        以后可以以文本的形式打开正常显示，用字符流  其他所有的用字节流

//        String path = "E:\\wanxi\\step-3\\canyin03-0809\\web\\aa\\bb\\note";
//        String newName = "company.aa";
//        File file = new File(path, newName);
//        file.delete();

        String pa = "E:\\wanxi\\step-3\\canyin03-0809\\web";

        File file = new File(pa);
        delete(file);
//        当上传目录时，必须保证当前目录没有文件或者文件夹
//        boolean delete = file.delete();
//        System.out.println(delete);
//        String[] list = file.list();//得到当前目录下的所有文件或者文件夹
//// 递归
//        for (int i = 0; i < list.length; i++) {
//
//            File file1 = new File(pa, list[i]);
////            System.out.println(file1.exists());
//
//            if (file1.isDirectory()) {
//                String[] templist = file1.list();
//                for (int j = 0; j < templist.length; j++) {
//
//                }
//            } else {
//                file1.delete();
//            }
//        }
    }

    private static void delete(File file) {
        String[] list = file.list();//得到当前目录下的所有文件或者文件夹
        for (int i = 0; i < list.length; i++) {
            File file1 = new File(file, list[i]);
            System.out.println(file1);
            if (file1.isDirectory()) {
                delete(file1);
            } else {
                file1.delete();
            }
        }
        file.delete();
    }
}
